use rand::Rng;  // 导入随机数生成特征
/// 生成固定20长度的随机字符串（包含大小写字母和数字）
pub fn generate_random_string() -> String {
    // 定义字符集（大小写字母+数字，共62个字符）
    let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    let chars: Vec<char> = chars.chars().collect();  // 转为字符数组方便索引
    let mut rng = rand::thread_rng();  // 创建线程安全的随机数生成器
    let mut result = String::with_capacity(20);  // 预分配20字节空间（优化性能）
    // 生成20个随机字符
    for _ in 0..20 {
        let random_idx = rng.gen_range(0..chars.len());  // 随机索引（0-61）
        result.push(chars[random_idx]);  // 根据索引选取字符并拼接
    }
    result
}